﻿$(function () {
    
    $("#from").datepicker({
        dayNamesMin: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],
        monthNamesMin: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"],
        dateFormat: "dd.mm.yy",
        defaultDate: "+1w",
        changeMonth: true,
        minDate: 0,
        onClose: function (selectedDate) {
            $("#to").datepicker("option", "minDate", selectedDate);
        }
    });
    $("#to").datepicker({
        dayNamesMin: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],
        monthNames: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"],
        defaultDate: "+1w",
        dateFormat: "dd.mm.yy",
        changeMonth: true,
        minDate: 0,
        onClose: function (selectedDate) {
            $("#from").datepicker("option", "maxDate", selectedDate);
        }
    });
});

$(document).ready(function () {
    function countRooms() {
        var count_room = 0;
        $('.qualityRoom').each(function () {
            count_room += parseFloat($(this).val());
        });
        return count_room;
    }
    function totalCash() {
        var totalCash = 0;
        $('.total').each(function () {
            totalCash += parseFloat($(this).val());
        });
        return totalCash;
    }
    function CountDay(day1, day2) {
        var oneDay = 24 * 60 * 60 * 1000;
        var dayFirst = new Date(day1);
        var daySecond = new Date(day2);
        var diffDays = Math.abs((dayFirst.getTime() - daySecond.getTime()) / oneDay);
        return diffDays;
    }
    function insertReservationDetail(maDP) {
        $('.checked').each(function () {
            $.get('InsertReservationDetail',
                    { "room": $('#roomID' + $(this).val()).val(), "type": $('#typeID' + $(this).val()).val(), "count": $('#quality' + $(this).val()).val(), "from_date": $('#from').val(), "to_date": $('#to').val(), "maDP": maDP },
                    function (data) {
                        $('.box').html("<h2>Đặt phòng thành công</h2>");
                    });
        });
    }
    Number.prototype.formatMoney = function (decPlaces, thouSeparator, decSeparator) {
        var n = this,
        decPlaces = isNaN(decPlaces = Math.abs(decPlaces)) ? 2 : decPlaces,
        decSeparator = decSeparator == undefined ? "," : decSeparator,
        thouSeparator = thouSeparator == undefined ? "." : thouSeparator,
        sign = n < 0 ? "-" : "",
        i = parseInt(n = Math.abs(+n || 0).toFixed(decPlaces)) + "",
        j = (j = i.length) > 3 ? j % 3 : 0;
        return sign + (j ? i.substr(0, j) + thouSeparator : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thouSeparator);
    };
    $('#from').live("change", function () {
        if ($('#to').datepicker("getDate") != null) {
            $.get('listLoaiHangPhongHoTro',
                    { "from_date": $('#from').val(), "to_date": $('#to').val() },
                    function (data) {
                        $('#ListHPLP').html(data);
                    });
        }
    });
    $('#to').live("change", function () {
        if ($('#from').datepicker("getDate") == null) {
            alert("Chọn ngày bắt đầu ");
        }
        else {
            $.get('listLoaiHangPhongHoTro',
                    { "from_date": $('#from').val(), "to_date": $('#to').val() },
                    function (data) {
                        $('#ListHPLP').html(data);
                    });
        }
    });
    $('.qualityRoom').live("change", function () {
        var count_types = Number($('#count_types').val());
        if ($(this).val() != 0) {
            count_types += 1;
            $('#count_types').val(count_types);
        }
        else {
            $('#count_types').val(count_types - 1);
        }
        var count_r = countRooms();
        $('#count_rooms').val(count_r);
        var total_day = CountDay($('#from').datepicker("getDate"), $('#to').datepicker("getDate"));
        var total = $('#h-price' + $(this).attr('id')).val() * $(this).val() * total_day;
        if ($(this).val() != 0) {
            $("#check" + $(this).attr("id")).addClass("checked");
        }
        else {
            $("#check" + $(this).attr("id")).removeClass("checked");
        }
        $("#h-total" + $(this).attr("id")).val(total);
        $("#quality" + $(this).attr("id")).val($(this).val());
        $("#total" + $(this).attr('id')).text(total.formatMoney(2, '.', ',') + " đ");
        var totalC = totalCash();
        $("#total_cash").text(totalC.formatMoney(2, '.', ',') + " đ");
    });
    $('#button_book').live("click", function () {
        if ($('#count_types').val() == 0) {
            alert("Chọn phòng muốn đặt");
        }
        else {
            if ($('#name').val() == '') {
                alert("Điền thông tin họ tên");
            }
            else {
                if ($('#add').val() == '') {
                    alert("Điền thông tin địa chỉ");
                }
                else {
                    if ($('#phone').val() == '') {
                        alert("Điền thông tin số điện thoại");
                    }
                    else {
                        if ($('#cmnd').val() == '') {
                            alert("Điền thông tin CMND");
                        }
                        else {
                            if ($('#acc_name').val() == '') {
                                alert("Điền thông tin tên tài khoản");
                            }
                            else {
                                if ($('#pass').val() == '') {
                                    alert("Điền thông tin mã tài khoản");
                                }
                                else {
                                    $.get('InsertReservation',
                                            { "from_date": $('#from').val(), "to_date": $('#to').val(), "count": $('#count_rooms').val(), "name": $('#name').val(), "add": $('#add').val(), "phone": $('#phone').val(), "code": $('#cmnd').val(), "name_acc": $('#acc_name').val(), "pass_acc": $('#pass').val(), },
                                            function (data) {
                                                var maDP = data;
                                                insertReservationDetail(maDP);
                                            });
                                }
                            }
                        }
                    }
                }
            }
        }
    });

});
